#pragma once
#include "BaseMQTTClient.h"
#include <string>

class MQTTSubscriber : public BaseMQTTClient {
public:
  MQTTSubscriber(const char *host = "localhost",
                 const char *client_id = "mqtt_subscriber",
                 const char *topic = "test/topic", int qos = 1);

  void subscribe();
  void set_message_callback(void (*callback)(struct mosquitto *, void *,
                                             const struct mosquitto_message *));

private:
  std::string default_topic;
  int default_qos;
};
